package com.sky.cqculture.Mapper;

import com.sky.cqculture.pojo.ShoppingCart;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface ShoppingCartMapper {
    
    /**
     * 根据用户ID查询购物车商品
     * @param userId 用户ID
     * @return 购物车商品列表
     */
    List<ShoppingCart> findByUserId(Integer userId);
    
    /**
     * 根据用户ID和商品ID查询购物车中的商品
     * @param userId 用户ID
     * @param productId 商品ID
     * @return 购物车商品
     */
    ShoppingCart findByUserIdAndProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);
    
    /**
     * 添加商品到购物车
     * @param shoppingCart 购物车商品
     */
    void add(ShoppingCart shoppingCart);
    
    /**
     * 更新购物车商品数量
     * @param shoppingCart 购物车商品
     */
    void updateQuantity(ShoppingCart shoppingCart);
    
    /**
     * 从购物车删除商品
     * @param id 购物车ID
     */
    void deleteById(Integer id);
    
    /**
     * 清空购物车
     * @param userId 用户ID
     */
    void clear(Integer userId);
    
    // 在接口中添加这个方法
    /**
     * 根据ID查询购物车商品
     * @param id 购物车ID
     * @return 购物车商品
     */
    ShoppingCart findById(Integer id);
}